<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // Object.prototype.toString.call(obj)
      let obj = {
        name: 'zs',
      };
      let data = [1, 2, 3];
      //  === '[object Object]'
      // [object Object]
      // [object Array]
      console.log(Object.prototype.toString.call(obj));
      console.log(Object.prototype.toString.call(data));

      // 2 constructor
      obj.prototype = Object;

      // 3 instanceof    需要注意的是数组也是对象，所以 arr instanceof Object 也为true。

      obj instanceof Object;

      // 、4typeof   注意除了 {}  ， null 和 [] 也是 'object'

      typeof obj === Object;

      // typeof  undefined           'undefined'
      // typeof  true                'boolean'
      // typeof  123                 'number'
      // typeof  "abc"               'string'
      // typeof  function() {}       'function'
      // typeof  {}                  'object'
      // typeof  null                'object'
      // typeof  []                  'object'
    </script>
  </body>
</html>
